#!/usr/bin/env python3
# -*- coding: utf-8 -*-

"""
注释说明
"""

__author__ = 'hubert'

import cv2 as cv


def get_point(event, x, y, flags, param):
    # 鼠标单击事件
    if event == cv.EVENT_LBUTTONDOWN:
        # 输出坐标
        print('坐标值: ', x, y)
        # 在传入参数图像上画出该点
        img = param.copy()
        # 输出坐标点的像素值
        print('像素值：',param[y][x]) # 注意此处反转，(纵，横，通道)
        # 显示坐标与像素
        text = "("+str(x)+','+str(y)+')'+str(param[y][x])
        cv.putText(img,text,(0,param.shape[0]),cv.FONT_HERSHEY_PLAIN,1.5,(0,0,255),1)
        cv.imshow('image', img)
        cv.waitKey(0)


if __name__ == "__main__":
    img_path = "/Users/hubert/Downloads/视频测试/longbiao.jpg"
    image = cv.imread(img_path)
    # image = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)

    # 定义两个窗口 并绑定事件 传入各自对应的参数
    cv.namedWindow('image')
    cv.setMouseCallback('image', get_point, image)

    # 显示图像
    while(True):
        cv.imshow('image', image)
        if cv.waitKey(20) & 0xFF == ord('q'):
            break
    cv.destroyAllWindows()
